Rabbits and Foxes - a Systems Dynamics Model

 

"Thinking in Systems" uses feedback loops. A classic example is an island of rabbits and foxes. Rabbits breed, and foxes eat them. What could be more obvious? And yet, from the mutual interrelationship emerges some extraordinary behavior. Mathematically, the Lotka–Volterra equations model such a predator-prey system. But they're coupled diffential equations that are complicated to solve and are subject to various problems (e.g., fictional fragments of foxes!).

Better: a simple systems simulation to play on paper or with tokens. Call the number of rabbits "R" and the number of Foxes "F", and discard any fractions that may occur during the calculations. There are two rule-pairs:

  • Every winter:

  • friendly happy busy bunnies double (R → 2*R) * lonely hungry fragile foxes halve (F → F/2)
  • * Every summer, rabbit-and-fox encounters happen (R*F path-crossings)

  • 10% of the meet-ups end badly for the bunnies (R → R - 0.1*R*F) * for every pair of rabbits eaten one new fox is born (F → F + 0.05*R*F)
  • Thus, if you begin with 10 Rabbits and 10 Foxes:

    • double Rabbits and halve Foxes — to get 20 Rabbits and 5 Foxes
    • multiply 20*5 to get 100 Rabbit-Fox meet-ups, of which 10 are fatal to the hare and produce 5 new foxes (aka kits) — resulting in a next-generation total of 10 Rabbits and 10 Foxes. Therefore 10 Rabbits and 10 Foxes is a stable situation — it stays the same generation-after-generation forever:

    rabbits 10101010...
    foxes 10101010...

    Similarly, if you start with 12 Rabbits and 10 Foxes you get:

    • double Rabbits & halve Foxes — resulting in 24 Rabbits and 5 Foxes
    • multiply 24*5 = 120, so there are now 12 fewer Rabbits and 6 more Foxes, for a total of 12 Rabbits again and 11 Foxes, a net gain of one. And then, computing the next year, of the 11 Foxes one is a bachelor (sorry, dude!) and with the round-down no-fraction rule for the math the result is again 12 Rabbits and 11 Foxes and their numbers become stable:

    rabbits 12121212...
    foxes 10111111...

    This doesn't seem very exciting so far, but now suppose you begin with 14 Rabbits and 10 Foxes — what do you think happens? Something new! After a temporary Fox population explosion there's a Rabbit near-extinction event, the Fox population drops to only 1 — at which point, alas, there can be no new foxes born — and without any Foxes left, the Rabbits reproduce like bunnies (!) and exponentiate upwards:

    rabbits 14141285458153060120240480960...
    foxes 10121415129531000000...

    Similarly the Rabbits win if we start with 10 Rabbits and 8 Foxes:

    rabbits 101215181811311248163264128...
    foxes 888101419181152100000...

    But paradoxically, beginning with 10 Rabbits and 6 Foxes things are quite different:

    rabbits 1014202834210000000000...
    foxes 66791530361894210000...

    A Fox population boom drives all Rabbits to extinction, after which things also go downhill for the Foxes. Something similar happens starting with 12 and 12 of each. But beginning with 18 Rabbits & 20 Foxes, the Rabbits win; starting at 20 Rabbits & 20 Foxes, the Foxes (temporarily) "win".

    Play some other cases and see how it goes!

    (cf Forecasting Lessons from Systems Dynamics (2017-07-15), Systems Dynamics Advice (2017-07-12), Thinking in Systems (2017-11-03), ...) - ^z - 2018-11-24